#include <stdio.h>
#define N 10

struct student{
    char num[6];
    char name[8];
    float score[3];
    float avr;
} stu[N];

int main(){
    int i,j,maxi;
    float sum,max,average;
    for(i=0;i<N;i++){
        printf("input scores of student %d:\n",i+1);
        printf("NO.:");
        scanf("%s",stu[i].num);
        printf("name:");
        scanf("%s",stu[i].name);
        for(j=0;j<3;j++){
            printf("score %d:",j+1);
            scanf("%d",&stu[i].score[j]);
        }
    }
    average=0;
    max=0;
    maxi=0;
    for(i=0;i<N;i++){
        sum=0;
        for(j=0;j<3;j++){
            sum=sum+stu[i].score[j];
        }
        stu[i].avr=sum/3.0;
        average=average+stu[i].avr;
        if(sum>max){
            max=sum;
            maxi=i;
        }
    }
    average=average/N;
    printf("no.     name  score1 score2  score3  average\n");
    for(i=0;i<N;i++){
        printf("%5s%10s",stu[i].num,stu[i].name);
        for(j=0;j<3;j++){
            printf("%9.2f",stu[i].score[j]);
            printf("%8.2f\n",stu[i].avr);
        }
    }
    printf("average=%5.2f\n",average);
    printf("The highest score is: student %s,%s\n",stu[maxi].num,stu[maxi].name);
    printf("His scores are: %6.2f,%6.2f,%6.2f,average:%5.2f.\n",stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);
}